microsoft / microsoft/TypeScript

Nested indexing of mapped type fails to resolve correctly

Aperta
#28,269 1 commento 1 reazione 1 assegnatario Vedi su GitHub

@weswigham ci sta già lavorando.

Dal 8/12/2018.

Bug Domain: Indexed Access Types
Lingua principale
Go
Stelle
111k
Fork
14.4k
Merge medio
1g 19h
PR unite (30g)
117

Descrizione

TypeScript Version: 3.2.0-dev.20181031

Search Terms:

nested indexing mapped type

Code

interface Foo {
  a: { x: boolean };
  b: { y: boolean };
}

function extractBoolean<K extends 'a' | 'b'>(foo: Foo, key: K, innerKey: keyof Foo[K]): boolean {
  return foo[key][innerKey];
}

Expected behavior:

Should compile.

Actual behavior:

Type 'Foo[K][keyof Foo[K]]' is not assignable to type 'boolean'.
  Type '({ x: boolean; } | { y: boolean; })[keyof Foo[K]]' is not assignable to type 'boolean'.

Playground Link

Related Issues:

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.