microsoft / microsoft/TypeScript
Strange "Cannot use namespace 'Foo' as a type" error with dummy `declare module "foo";` declaration
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
Maybe this is a question, but it has come up multiple times on Stack Overflow (most recently here) without a good answer, so I'm asking it here.
TypeScript Version: master (03af107)
Search Terms: "cannot use namespace" "as a type" TS2709 "declare module"
Code
declare module "foo";
declare module "bar" {
import { Foo } from "foo";
let x: Foo;
}
Expected behavior: An error that makes sense, or no error?
Actual behavior: error TS2709: Cannot use namespace 'Foo' as a type.
Playground Link: link
Related Issues: None found
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, den TS2709-Fehler im verlinkten TypeScript Playground mit dem Dummy-declare module "foo"; und dem verschachtelten declare module "bar"-Beispiel zu reproduzieren. Verfolge die Verarbeitung von Foo durch den Compiler an der Typstelle und überprüfe anschließend, dass das Ergebnis für den gemeldeten Fall entweder eine sinnvolle Diagnose oder kein Fehler ist.
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
- 38/100