microsoft / microsoft/TypeScript
Object.assign({}) seems to always return a type any
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
TypeScript Version: 3.3.0-dev.20190110
Search Terms: Object.assign
Code
function foo(): {foo: string} {
return Object.assign({});
}
Interestingly the code:
function bar(): {bar: string} {
return Object.assign({}, {bar: 1});
}
does report the expected error
Expected behavior: TypeScript should report an error because the type returned by return Object.assign({}); does not mach {foo: string} but instead the type any is assumed.
Actual behavior: No error is shown
Related Issues: no
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das gemeldete Object.assign-Beispiel im verlinkten TypeScript Playground mit der TypeScript-Version des Issues und dem aktuellen nightly build zu reproduzieren. Verfolge, wie der Compiler Object.assign({}) typisiert, und füge einen Regressionstest hinzu, der überprüft, dass der Rückgabewert abgelehnt wird, wenn er {foo: string} nicht erfüllt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100