Skip to content

T[K] not assignable even when it's 'any' #23940

Closed

Description

TypeScript Version: 2.9.0-dev.20180430

Code

interface I {
    x: any;
}
type Foo<T extends number> = T;
declare function f<K extends keyof I>(type: K): Foo<I[K]>;

Expected behavior:

No error.

Actual behavior:

src/a.ts:5:53 - error TS2344: Type 'I[K]' does not satisfy the constraint 'number'.

5 declare function f<K extends keyof I>(type: K): Foo<I[K]>;

This was broken by #23768 (fc2f16c): tested that it worked in the commit before it, 4e401ca .

Discovered in ember-data on DefinitelyTyped.

Metadata

Metadata

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