microsoft / microsoft/TypeScript
Bug with resolveClassOrInterfaceMembers
Nessuno ha ancora preso questa issue.
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 2g 4h
- PR unite (30g)
- 132
Descrizione
https://github.com/Microsoft/TypeScript/blob/6db4faf4883636e70ef7a99401b9dbc5d1a58631/src/compiler/checker.ts#L2894
```
interface monster {
(a: "a"): void;
(b: "b"): void;
(c: "c"): void;
(d: "d"): void;
(e: "e"): void;
(x: string): void;
}
interface m1 extends monster {
a();
}
interface m2 extends monster {
b();
}
interface m3 extends monster { }
interface m4 extends monster { }
interface m5 extends m1, m2, m3, m4 { }
var waa: m5;
waa("a")
```
The compiler finds 24 call expressions because it appends 'monster' from each base type.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia in src/compiler/checker.ts, nella posizione collegata di resolveClassOrInterfaceMembers, e riproduci il problema con la gerarchia delle interfacce e l’espressione di chiamata mostrata qui. Traccia il modo in cui vengono raccolti i membri del tipo base ripetuto, quindi verifica che il compilatore non segnali più 24 espressioni di chiamata per l’esempio.
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
- Abbastanza chiara
- Idoneità per principianti
- 35/100