microsoft / microsoft/cppwinrt
Feature request: add an all-in-one module interface file declaring `export winrt;` that `export import`s everything else
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 1.9k
- Forks
- 281
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Summary
It is quite nice to see modules support massively improved for cppwinrt; this was a silent effort that went quite unnoticed by the rest of the community! Thanks to all.
That being said, I am a little concerned at the module being split up into 'namespaces'. The general consensus by build system and compiler developers is that libraries should tend towards mega-modules, as the parsing and instantiation cost is paid once upfront. I must also point out that some of the purported benefits listed here don't quite exist in C++. There is very little (amortised) cost to having a giant module interface file (this is exactly how module std works, for instance).
I therefore propose a small addition that allows users to consume cppwinrt in one go with an interface file that export imports all the separated interfaces.
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 mit docs/modules-design.md und untersuche die vorhandenen getrennten Modulschnittstellen, um ihre Namen und Exportstruktur zu bestimmen. Füge eine All-in-one-Schnittstelle hinzu, die sie re-exportiert, und überprüfe, dass Consumer winrt über diese einzelne Schnittstelle importieren können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp
- Bereich
- build-system
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 58/100