Skip to content

Mapped tuple types don't infer as arrays in generics #26163

Closed
@jscheiny

Description

@jscheiny

TypeScript Version: 3.1.0-dev.20180802

Search Terms:

Mapped tuple type generic infer array

Code

type Element<T> = T extends Array<infer U> ? U : never;
type Mapped<T> = { [K in keyof T]: T[K] };

type F<T> = Element<Mapped<T>>;
type R1 = F<[string, number, boolean]>; // never
type R2 = Element<Mapped<[string, number, boolean]>>; // string | number | boolean

Expected behavior:

The type of R1 should be string | number | boolean.

Actual behavior:

The type of R1 is never.

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions