Skip to content

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

@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
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions