microsoft / microsoft/TypeScript

spreading generic type disables excess property checking

Aperta
#30,129 1 commento 3 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Bug Domain: check: Excess Property Checking
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

TypeScript Version: 3.3.3333

Search Terms: generic spread

Code

function spread<T extends {foo: string}>(p: T): {foo: string} {
    return {...p, bar: ''};
}

Expected behavior:

Excess property error for bar.

Actual behavior:

No error.

Playground Link: http://www.typescriptlang.org/play/#src=function%20spread%3CT%20extends%20%7Bfoo%3A%20string%7D%3E(p%3A%20T)%3A%20%7Bfoo%3A%20string%7D%20%7B%0D%0A%20%20%20%20return%20%7B...p%2C%20bar%3A%20''%7D%3B%0D%0A%7D

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.

Direzione di ricerca

Inizia con il reproducer di TypeScript 3.3.3333 presente nell’issue e analizza come il controllo delle proprietà in eccesso gestisce un object spread proveniente da un tipo generico. Il lavoro è completo quando l’esempio segnala un errore di proprietà in eccesso per bar e un test di regressione copre questo comportamento; nell’issue non sono indicati né un file sorgente né un percorso di test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
compilers
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.